package org.dtrd.modules.archive.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 实验室检查
 * </p>
 *
 * @author QR
 * @since 2021-10-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dtrd_ent_rd_archive_laboratory")
@ApiModel(value = "DtrdEntRdLaboratory对象", description = "实验室检查")
public class DtrdEntRdArchiveLaboratory implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "data_id", type = IdType.AUTO)
    private Integer dataId;

    @ApiModelProperty(value = "患者ID")
    @TableField("patient_id")
    private Integer patientId;

    @ApiModelProperty(value = "记录时间")
    @TableField("record_date")
    private Date recordDate;

    @ApiModelProperty(value = "空腹血糖")
    @TableField("sugar_fasting")
    private Float sugarFasting;

    @ApiModelProperty(value = "空腹血糖检查日期")
    @TableField("sugar_fasting_date")
    private Date sugarFastingDate;

    @ApiModelProperty(value = "随机血糖1")
    @TableField("sugar_random1")
    private Float sugarRandom1;

    @ApiModelProperty(value = "随机血糖1检查日期")
    @TableField("sugar_random1_date")
    private Date sugarRandom1Date;

    @ApiModelProperty(value = "随机血糖2")
    @TableField("sugar_random2")
    private Float sugarRandom2;

    @ApiModelProperty(value = "随机血糖2检查日期")
    @TableField("sugar_random2_date")
    private Date sugarRandom2Date;

    @ApiModelProperty(value = "随机血糖3")
    @TableField("sugar_random3")
    private Float sugarRandom3;

    @ApiModelProperty(value = "随机血糖3检查日期")
    @TableField("sugar_random3_date")
    private Date sugarRandom3Date;

    @ApiModelProperty(value = "随机血糖4")
    @TableField("sugar_random4")
    private Float sugarRandom4;

    @ApiModelProperty(value = "随机血糖4检查日期")
    @TableField("sugar_random4_date")
    private Date sugarRandom4Date;

    @ApiModelProperty(value = "随机血糖5")
    @TableField("sugar_random5")
    private Float sugarRandom5;

    @ApiModelProperty(value = "随机血糖5检查日期")
    @TableField("sugar_random5_date")
    private Date sugarRandom5Date;

    @ApiModelProperty(value = "随机血糖6")
    @TableField("sugar_random6")
    private Float sugarRandom6;

    @ApiModelProperty(value = "随机血糖6检查日期")
    @TableField("sugar_random6_date")
    private Date sugarRandom6Date;

    @ApiModelProperty(value = "随机血糖7")
    @TableField("sugar_random7")
    private Float sugarRandom7;

    @ApiModelProperty(value = "随机血糖7检查日期")
    @TableField("sugar_random7_date")
    private Date sugarRandom7Date;

    @ApiModelProperty(value = "餐后2h血糖")
    @TableField("sugar_after2")
    private Float sugarAfter2;

    @ApiModelProperty(value = "餐后2h血糖检查日期")
    @TableField("sugar_after2_date")
    private Date sugarAfter2Date;

    @ApiModelProperty(value = "OGTT2h血糖")
    @TableField("sugar_OGTT2")
    private Float sugarOgtt2;

    @ApiModelProperty(value = "OGTT2h血糖检查日期")
    @TableField("sugar_OGTT2_date")
    private Date sugarOgtt2Date;

    @ApiModelProperty(value = "胰岛beta细胞功能")
    @TableField("islet_beta_cells")
    private Float isletBetaCells;

    @ApiModelProperty(value = "胰岛beta细胞功能检查日期")
    @TableField("islet_beta_cells_date")
    private Date isletBetaCellsDate;

    @ApiModelProperty(value = "HbA1c")
    @TableField("hba1c")
    private Float hba1c;

    @ApiModelProperty(value = "HbA1c检查日期")
    @TableField("hba1c_date")
    private Date hba1cDate;

    @ApiModelProperty(value = "总胆固醇TC")
    @TableField("tc")
    private Float tc;

    @ApiModelProperty(value = "总胆固醇TC检查日期")
    @TableField("tc_date")
    private Date tcDate;

    @ApiModelProperty(value = "甘油三酯TG")
    @TableField("tg")
    private Float tg;

    @ApiModelProperty(value = "甘油三酯TG检查日期")
    @TableField("tg_date")
    private Date tgDate;

    @ApiModelProperty(value = "低密度脂蛋白LDL_C")
    @TableField("ldlc")
    private Float ldlc;

    @ApiModelProperty(value = "低密度脂蛋白LDL_C检查日期")
    @TableField("ldlc_date")
    private Date ldlcDate;

    @ApiModelProperty(value = "高密度脂蛋白HDL_C")
    @TableField("hdlc")
    private Float hdlc;

    @ApiModelProperty(value = "高密度脂蛋白HDL_C检查日期")
    @TableField("hdlc_date")
    private Date hdlcDate;

    @ApiModelProperty(value = "非高密度脂蛋白nonHDL_C")
    @TableField("non_hdlc")
    private Float nonHdlc;

    @ApiModelProperty(value = "非高密度脂蛋白nonHDL_C检查日期")
    @TableField("non_hdlc_date")
    private Date nonHdlcDate;

    @ApiModelProperty(value = "是否服用降压药物")
    @TableField("is_hypotensor")
    private Integer isHypotensor;

    @ApiModelProperty(value = "谷丙转氨酶ALT")
    @TableField("alt")
    private Float alt;

    @ApiModelProperty(value = "谷丙转氨酶ALT检查日期")
    @TableField("alt_date")
    private Date altDate;

    @ApiModelProperty(value = "谷草转氨酶AST")
    @TableField("ast")
    private Float ast;

    @ApiModelProperty(value = "谷草转氨酶AST检查日期")
    @TableField("ast_date")
    private Date astDate;

    @ApiModelProperty(value = "总胆红素T_BIL")
    @TableField("tbil")
    private Float tbil;

    @ApiModelProperty(value = "总胆红素T_BIL检查日期")
    @TableField("tbil_date")
    private Date tbilDate;

    @ApiModelProperty(value = "碱性磷酸酶ALP")
    @TableField("alp")
    private Float alp;

    @ApiModelProperty(value = "碱性磷酸酶ALP检查日期")
    @TableField("alp_date")
    private Date alpDate;

    @ApiModelProperty(value = "尿常规_尿蛋白")
    @TableField("urine_protein")
    private Integer urineProtein;

    @ApiModelProperty(value = "尿常规_尿蛋白检查日期")
    @TableField("urine_protein_date")
    private Date urineProteinDate;

    @ApiModelProperty(value = "尿白蛋白UAE")
    @TableField("uae")
    private Float uae;

    @ApiModelProperty(value = "尿白蛋白UAE检查日期")
    @TableField("uae_date")
    private Date uaeDate;

    @ApiModelProperty(value = "24h尿白蛋白24hUAE")
    @TableField("uae24")
    private Float uae24;

    @ApiModelProperty(value = "24h尿白蛋白24hUAE检查日期")
    @TableField("uae24_date")
    private Date uae24Date;

    @ApiModelProperty(value = "尿白蛋白尿肌酐ACR")
    @TableField("acr")
    private Float acr;

    @ApiModelProperty(value = "尿白蛋白尿肌酐ACR检查日期")
    @TableField("acr_date")
    private Date acrDate;

    @ApiModelProperty(value = "血清肌酐Cr")
    @TableField("cr")
    private Float cr;

    @ApiModelProperty(value = "血清肌酐Cr检查日期")
    @TableField("cr_date")
    private Date crDate;

    @ApiModelProperty(value = "尿素氮")
    @TableField("urea_nitrogen")
    private Float ureaNitrogen;

    @ApiModelProperty(value = "尿素氮检查日期")
    @TableField("urea_nitrogen_date")
    private Date ureaNitrogenDate;

    @ApiModelProperty(value = "肾小球滤过率GFR")
    @TableField("gfr")
    private Float gfr;

    @ApiModelProperty(value = "肾小球滤过率GFR检查日期")
    @TableField("gfr_date")
    private Date gfrDate;

    @ApiModelProperty(value = "内生肌酐清除率")
    @TableField("creatinine_rate")
    private Float creatinineRate;

    @ApiModelProperty(value = "内生肌酐清除率检查日期")
    @TableField("creatinine_rate_date")
    private Date creatinineRateDate;

    @ApiModelProperty(value = "血尿酸")
    @TableField("bua")
    private Float bua;

    @ApiModelProperty(value = "血尿酸检查日期")
    @TableField("bua_date")
    private Date buaDate;

    @ApiModelProperty(value = "血酮体")
    @TableField("blood_ketone")
    private Float bloodKetone;

    @ApiModelProperty(value = "血酮体检查日期")
    @TableField("blood_ketone_date")
    private Date bloodKetoneDate;

    @ApiModelProperty(value = "尿酮体")
    @TableField("urine_ketone")
    private Integer urineKetone;

    @ApiModelProperty(value = "尿酮体检查日期")
    @TableField("urine_ketone_date")
    private Date urineKetoneDate;

    @ApiModelProperty(value = "血气分析PH")
    @TableField("ph")
    private Float ph;

    @ApiModelProperty(value = "血气分析PH检查日期")
    @TableField("ph_date")
    private Date phDate;

    @ApiModelProperty(value = "血气分析HCO3")
    @TableField("hco3")
    private Float hco3;

    @ApiModelProperty(value = "血气分析HCO3检查日期")
    @TableField("hco3_date")
    private Date hco3Date;

    @ApiModelProperty(value = "电解质Na")
    @TableField("na")
    private Float na;

    @ApiModelProperty(value = "电解质Na检查日期")
    @TableField("na_date")
    private Date naDate;

    @ApiModelProperty(value = "电解质K")
    @TableField("kei")
    private Float kei;

    @ApiModelProperty(value = "电解质K检查日期")
    @TableField("kei_date")
    private Date keiDate;

    @ApiModelProperty(value = "血浆渗透压")
    @TableField("opp")
    private Float opp;

    @ApiModelProperty(value = "血浆渗透压检查日期")
    @TableField("opp_date")
    private Date oppDate;

    @ApiModelProperty(value = "溃疡组织培养药敏试验")
    @TableField("ulcerative_drug_sensitivity")
    private String ulcerativeDrugSensitivity;

    @ApiModelProperty(value = "溃疡组织培养药敏试验检查日期")
    @TableField("ulcerative_drug_sensitivity_date")
    private Date ulcerativeDrugSensitivityDate;

    @ApiModelProperty(value = "实验室检查多图")
    @TableField("laboratory_photos_url")
    private String laboratoryPhotosUrl;

    @ApiModelProperty(value = "血糖空腹服糖前")
    @TableField("sugar_limosis")
    private Float sugarLimosis;

    @ApiModelProperty(value = "血糖30min")
    @TableField("sugar_30min")
    private Float sugar30min;

    @ApiModelProperty(value = "血糖1h")
    @TableField("sugar_1h")
    private Float sugar1h;

    @ApiModelProperty(value = "血糖2h")
    @TableField("sugar_2h")
    private Float sugar2h;

    @ApiModelProperty(value = "血糖3h")
    @TableField("sugar_3h")
    private Float sugar3h;

    @ApiModelProperty(value = "胰岛素空腹")
    @TableField("islet_limosis")
    private Float isletLimosis;

    @ApiModelProperty(value = "胰岛素30min")
    @TableField("islet_30min")
    private Float islet30min;

    @ApiModelProperty(value = "胰岛素1h")
    @TableField("islet_1h")
    private Float islet1h;

    @ApiModelProperty(value = "胰岛素2h")
    @TableField("islet_2h")
    private Float islet2h;

    @ApiModelProperty(value = "胰岛素3h")
    @TableField("islet_3h")
    private Float islet3h;

    @ApiModelProperty(value = "C肽空腹")
    @TableField("peptide_limosis")
    private Float peptideLimosis;

    @ApiModelProperty(value = "C肽30min")
    @TableField("peptide_30min")
    private Float peptide30min;

    @ApiModelProperty(value = "C肽1h")
    @TableField("peptide_1h")
    private Float peptide1h;

    @ApiModelProperty(value = "C肽2h")
    @TableField("peptide_2h")
    private Float peptide2h;

    @ApiModelProperty(value = "C肽3h")
    @TableField("peptide_3h")
    private Float peptide3h;

    @ApiModelProperty(value = "OGTT试验胰岛功能检查日期")
    @TableField("ogtt_peptide_date")
    private Date ogttPeptideDate;

    @ApiModelProperty(value = "报告名称")
    @TableField("report_name")
    private String reportName;

    @ApiModelProperty(value = "报告结论")
    @TableField("report_conclusion")
    private String reportConclusion;

    @ApiModelProperty(value = "照片以 竖线 | 拼接")
    @TableField("photo")
    private String photo;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @TableField("is_del")
    @TableLogic
    private Integer isDel;

    /**
     * 血糖检查是否确认完成, 1-是, 0-否
     */
    @TableField("sugar_is_finished")
    private Integer sugarIsFinished;

    /**
     * OGTT+胰岛功能检查是否确认完成, 1-是, 0-否
     */
    @TableField("ogtt_is_finished")
    private Integer ogttIsFinished;

    /**
     * 血脂检查是否确认完成, 1-是, 0-否
     */
    @TableField("lipids_is_finished")
    private Integer lipidsIsFinished;

    /**
     * 肝功能检查否确认完成, 1-是, 0-否
     */
    @TableField("liver_is_finished")
    private Integer liverIsFinished;

    /**
     * 肾功能检查是否确认完成, 1-是, 0-否
     */
    @TableField("kidney_is_finished")
    private Integer kidneyIsFinished;

    /**
     * 酮体检查是否确认完成, 1-是, 0-否
     */
    @TableField("ketone_is_finished")
    private Integer ketoneIsFinished;

    /**
     * 血气分析及其他是否确认完成, 1-是, 0-否
     */
    @TableField("gas_is_finished")
    private Integer gasIsFinished;

    /**
     * 血糖报告
     */
    @TableField("sugar_report_name")
    private String sugarReportName;

    /**
     * 血糖报告结论
     */
    @TableField("sugar_report_conclusion")
    private String sugarReportConclusion;

    /**
     * 血糖报告图片
     */
    @TableField("sugar_report_photo")
    private String sugarReportPhoto;


    /**
     * ogtt报告名称
     */
    @TableField("ogtt_report_name")
    private String ogttReportName;

    /**
     * ogtt报告结论
     */
    @TableField("ogtt_report_conclusion")
    private String ogttReportConclusion;

    /**
     * ogtt报告图片
     */
    @TableField("ogtt_report_photo")
    private String ogttReportPhoto;

    /**
     * 血脂报告名称
     */
    @TableField("lipid_report_name")
    private String lipidReportName;

    /**
     * 血脂报告结论
     */
    @TableField("lipid_report_conclusion")
    private String lipidReportConclusion;

    /**
     * 血脂报告图片
     */
    @TableField("lipid_report_photo")
    private String lipidReportPhoto;

    /**
     * 肝功能报告名称
     */
    @TableField("liver_report_name")
    private String liverReportName;

    /**
     * 肝功能报告结论
     */
    @TableField("liver_report_conclusion")
    private String liverReportConclusion;

    /**
     * 肝功能图片
     */
    @TableField("liver_report_photo")
    private String liverReportPhoto;

    /**
     * 肾功能报告
     */
    @TableField("kidney_report_name")
    private String kidneyReportName;

    /**
     * 肾功能结论
     */
    @TableField("kidney_report_conclusion")
    private String kidneyReportConclusion;

    /**
     * 肾功能图片
     */
    @TableField("kidney_report_photo")
    private String kidneyReportPhoto;

    /**
     * 酮体报告名称
     */
    @TableField("ketone_report_name")
    private String ketoneReportName;

    /**
     * 酮体报告结论
     */
    @TableField("ketone_report_conclusion")
    private String ketoneReportConclusion;

    /**
     * 酮体报告图片
     */
    @TableField("ketone_report_photo")
    private String ketoneReportPhoto;

    /**
     * 血气分析报告名称
     */
    @TableField("blood_report_name")
    private String bloodReportName;

    /**
     * 血气分析报告结论
     */
    @TableField("blood_report_conclusion")
    private String bloodReportConclusion;

    /**
     * 血气分析报告图片
     */
    @TableField("blood_report_photo")
    private String bloodReportPhoto;

    public DtrdEntRdArchiveLaboratory init() {
        isDel = 0;
        createTime = new Date();
        return this;
    }
}
